package com.fessc.develop.entity.ccbvo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fessc.develop.utils.IntConvert;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 订单扣款、退款申请推送报文体
 */

@Data
public class CCBPrePaymentBodyVo extends CCBCommonSendBodyVo {

    @JsonProperty("BsnTp")
    String bsnTp; //业务类型：1-订单扣款；2-订单退款

    @JsonProperty("OrdrNo")
    String suborderno; //订单编号

    @JsonProperty("BorderTxnImpExpTpCd")
    @JSONField(serializeUsing = IntConvert.class)
    Integer ietype; //进出口标志：1-进口；2-出口

    @JsonProperty("Ccy")
    String payercurrency; //订单币种

    @JsonProperty("ChrgTAmt")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    BigDecimal totalAmount; //总金额

    @JsonProperty("OrdrTm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    LocalDateTime insertDate; //订单时间，如果退款取refund_date字段

    @JsonProperty("vendee")
    CCBPrePaymentVendeeVo ccbPrePaymentVendeeVo;  //边民信息

    @JsonProperty("vendor")
    CCBPrePaymentVendorVo ccbPrePaymentVendorVo;  //商铺信息

    @JsonProperty("Items")
    List<CCBPrePaymentItemVo> ccbOrderItems;  //商品列表

}
